package com.employment.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 聊天会话DTO
 * 
 * @author employment
 * @since 2024-01-01
 */
@Data
public class ChatConversationDTO {
    
    /**
     * 会话ID
     */
    private Long conversationId;
    
    /**
     * 会话类型：1私聊，2群聊
     */
    private Integer conversationType;
    
    /**
     * 会话名称（群聊时使用）
     */
    private String conversationName;
    
    /**
     * 会话头像
     */
    private String avatar;
    
    /**
     * 最后一条消息
     */
    private String lastMessage;
    
    /**
     * 最后一条消息时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastMessageTime;
    
    /**
     * 未读消息数
     */
    private Integer unreadCount;
    
    /**
     * 是否置顶
     */
    private Boolean isPinned;
    
    /**
     * 是否免打扰
     */
    private Boolean isMuted;
    
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    
    /**
     * 会话参与者列表
     */
    private List<ChatParticipantDTO> participants;
    
    /**
     * 对方用户信息（私聊时使用）
     */
    private UserSimpleDTO otherUser;
}